GetStructureDnsPacket(char* QueryDomain, char* QueryData, int* nQueryData)
{// addr = 0x0804C3E3
    DNS_HEADER DNSHeadData;
    char[127] DomainFormat;
    QUESTION* qTypeClass;
    intOrPtr* _v12;
    short _v14;
    short _v16;
    short _v18;
    short _v20;
    signed int _v21;
    signed int _v22;
    char _v24;
    char _v152;
    char* _v156;
    intOrPtr _v160;
    intOrPtr _v164;
    _unknown_ _v180;
    intOrPtr _v184;
    _unknown_ r6;
    _unknown_ _t57;
    signed short _t58;
    short _t60;
    short _t81;
    _unknown_ _t84;
    _unknown_ _t86;
    _unknown_ _t90;
    _unknown_ _t93;
    _unknown_ _t95;
    intOrPtr _t98;
    short _t100;
    _unknown_ _t103;
    intOrPtr _t108;
    _unknown_ _t109;
    char* _t114;
    char* _t115;

    _v184 = 12;
    _t58 =  &_v24;
     *__esp = _t58;
    L0806F910();
    L0805EBE0();
     *__esp = _t58 & 65535;
    _t60 = L08075240(__esp);
    _v24 = _t60;
    _v22 = _v22 & 255 & 127;
    _v22 = _v22 & 255 & 135;
    _v22 = _v22 & 255 & 251;
    _v22 = _v22 & 255 & 253;
    _v22 = _v22 & 255 | 1;
    _v21 = _v21 & 255 & 127;
    _v21 = _v21 & 255 & 191;
    _v21 = _v21 & 255 & 223;
    _v21 = _v21 & 255 & 239;
    _v21 = _v21 & 255 & 240;
     *__esp = 1;
    _t81 = L08075240(__esp);
    _v20 = _t81;
    _v18 = 0;
    _v16 = 0;
    _v14 = 0;
    L0806F9E0(_t114, __esi, QueryData,  &_v24, 12);
    _v156 =  &_v152;
    _v160 = 0;
    __eflags = 128 - 4;
    if(__eflags >= 0) {
        _v164 = 32;
        _t115 = _v156;
        _t108 = _v164;
        _push(_t108 << 2);
        _push(_v160);
        _push(_t115);
        memset();
        __esp =  &(__esp[3]);
        _t114 =  &(_t115[_t108]);
    }
    RandNametoFormat(QueryDomain,  &_v152);
     *__esp =  &_v152;
    _t90 = L0806E770(__esp, __eflags);
    L0806F9E0(_t114, __esi,  &(QueryData[0xc]),  &_v152, _t90);
     *__esp =  &_v152;
    _t95 = L0806E770(__esp, __eflags);
    _v12 = _t95 + 13 + QueryData;
     *__esp = 1;
    _t98 = L08075240(__esp);
     *_v12 = _t98;
     *__esp = 1;
    _t100 = L08075240(__esp);
     *((short*)(_v12 + 2)) = _t100;
     *__esp =  &_v152;
    _t103 = L0806E770(__esp, __eflags);
     *nQueryData = _t103 + 17;
    return;
}